NVMe specifies a transmission mechanism between an NVMe device and a host that are connected by using a Peripheral Component Interconnect Express (PCIe) bus.
After a published NVMe standard of a PCIe architecture gains a huge success in the industry, the industry immediately expects to expand the NVMe standard to the data center field. However, due to disadvantages (such as scalability and long-distance connections) of the PCIe protocol in the data center field, the industry is driving running of the NVMe protocol on a network, so as to provide more flexible and more extensive applications. The network on which the NVMe protocol runs includes but is not limited to iWarp, remote direct memory access over Converged Ethernet (ROCE), Infiniband, Fiber Channel (FC), Omni-Path, and the like. In the industry, an architecture that is of the NVMe protocol and that runs on a network, such as iWarp, ROCE, Infiniband, FC, or Omni-Path, is referred to as NVMe over Fabric (or NVMe-oF).
In the NVMe over Fabric architecture, a host is responsible for initiating data read/write, and a target storage device is responsible for receiving and executing a command sent by the host. There may be multiple paths between the host and the target storage device to transmit the command and data. The multiple paths may be managed and controlled by means of integrating multipath software into an operating system of the host.
To integrate the multipath software into the operating system of the host, corresponding multipath software needs to be developed on the host for different operating system versions of the host. An implementation is complex.